/*
 * Copyright 2020 www.mytijian.com All right reserved. This software is the
 * confidential and proprietary information of www.mytijian.com ("Confidential
 * Information"). You shall not disclose such Confidential Information and shall
 * use it only in accordance with the terms of the license agreement you entered
 * into with www.mytijian.com.
 */
package com.mytijian.task.model;

import com.mytijian.task.enums.TaskTypeEnum;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

public class SubmitTask<T> implements Serializable {
    @NotNull
    private T content;
    @NotNull
    private TaskTypeEnum taskTypeEnum;
    @NotNull
    private String groupKey;
    @NotNull
    private String operatorId;
    @NotNull
    private String name;
    @NotNull
    private Integer system;
    /**
     * 需要多个节点处理
     */
    private Boolean mutiNodeProcess = false;
    private Boolean needFailover = false;

    public Boolean getMutiNodeProcess() {
        return mutiNodeProcess;
    }

    public void setMutiNodeProcess(Boolean mutiNodeProcess) {
        this.mutiNodeProcess = mutiNodeProcess;
    }

    public Boolean getNeedFailover() {
        return needFailover;
    }

    public void setNeedFailover(Boolean needFailover) {
        this.needFailover = needFailover;
    }

    public T getContent() {
        return content;
    }

    public void setContent(T content) {
        this.content = content;
    }

    public TaskTypeEnum getTaskTypeEnum() {
        return taskTypeEnum;
    }

    public void setTaskTypeEnum(TaskTypeEnum taskTypeEnum) {
        this.taskTypeEnum = taskTypeEnum;
    }

    public String getGroupKey() {
        return groupKey;
    }

    public void setGroupKey(String groupKey) {
        this.groupKey = groupKey;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSystem() {
        return system;
    }

    public void setSystem(Integer system) {
        this.system = system;
    }
}
